import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace BaseinfoCompanyApi {
  /** 企业登记信息信息 */
  export interface BaseinfoCompany {
    id: number; // 编号
    companyId?: string; // 公司标识
    companyName?: string; // 公司名称
    identifier?: string; // 统一社会信用代码
    type: string; // 企业类型
    address: number; // 注册地行政区划代码
    businessScope: string; // 经营范围
    contactAddress: string; // 通信地址
    economicType: string; // 经营业户经济类
    regCapital: string; // 注册资本
    legalName: string; // 法人代表姓名
    legalId: string; // 法人代农身份证号
    legalPhone: string; // 法人代表电话
    legalPhoto: string; // 法人代表身份证扫描 件文件编号
    userId: string; // 用户ID
    state?: boolean; // 0有效1无效
    flag: boolean; // 1新增2更新3删除
  }
}

/** 查询企业登记信息分页 */
export function getBaseinfoCompanyPage(params: PageParam) {
  return requestClient.get<PageResult<BaseinfoCompanyApi.BaseinfoCompany>>('/csyt/baseinfo-company/page', { params });
}

/** 查询企业登记信息详情 */
export function getBaseinfoCompany(id: number) {
  return requestClient.get<BaseinfoCompanyApi.BaseinfoCompany>(`/csyt/baseinfo-company/get?id=${id}`);
}

/** 新增企业登记信息 */
export function createBaseinfoCompany(data: BaseinfoCompanyApi.BaseinfoCompany) {
  return requestClient.post('/csyt/baseinfo-company/create', data);
}

/** 修改企业登记信息 */
export function updateBaseinfoCompany(data: BaseinfoCompanyApi.BaseinfoCompany) {
  return requestClient.put('/csyt/baseinfo-company/update', data);
}

/** 删除企业登记信息 */
export function deleteBaseinfoCompany(id: number) {
  return requestClient.delete(`/csyt/baseinfo-company/delete?id=${id}`);
}

/** 批量删除企业登记信息 */
export function deleteBaseinfoCompanyList(ids: number[]) {
  return requestClient.delete(`/csyt/baseinfo-company/delete-list?ids=${ids.join(',')}`)
}

/** 导出企业登记信息 */
export function exportBaseinfoCompany(params: any) {
  return requestClient.download('/csyt/baseinfo-company/export-excel', params);
}

